package exception;

import java.io.IOException;

/**
 * @Author Justin Parker
 * @Date 2024/7/18 0018 11:22
 * @Version 1.0
 */
/*
*  检查和非检查异常
 */
public class CheckNonCheckExcetpion01 {
    public static void main(String[] args)  {
        try{
        doMethod1();
        } catch (IOException e){
            e.printStackTrace();
//            return;
            throw new RuntimeException("程序运行时出错了",e);
        }
        doMethod2();
    }

    static void doMethod1() throws IOException {
        //抛出检查异常（编译阶段会检测到的异常，必须处理，否则编译通过）
       throw new IOException("读写数据失败");
        }

    static void doMethod2(){//对于非检查异常，这里不需要声明抛出异常
        //抛出非检查异常（运行时异常，这样的异常在编译阶段不检测）
        throw new ArrayIndexOutOfBoundsException("数组越界");
    }
}
